#ifndef SATURNOS_INC_KERN_SPINLOCK_H
#define SATURNOS_INC_KERN_SPINLOCK_H

#include <types.h>

struct spinlock_t {
	volatile uint32_t locked;
};

void initlock(struct spinlock_t*);
void acquire(struct spinlock_t*);
void release(struct spinlock_t*);

void pushcli(void);
void popcli(void);


#endif /* SATURNOS_INC_KERN_SPINLOCK_H */
